草庐IT

C++ 类 class

全部标签

c++ - 非常基本的继承 : error: expected class-name before ‘{’ token

我正在尝试学习c++,但在尝试找出继承时偶然发现了一个错误。编译:daughter.cpp在/home/jonas/kodning/testing/daughter.cpp:1包含的文件中:/home/jonas/kodning/testing/daughter.h:6:错误:“{”标记之前的预期类名进程以状态1终止(0分0秒)1个错误,0个警告我的文件:main.cpp:#include"mother.h"#include"daughter.h"#includeusingnamespacestd;intmain(){coutmother.cpp:#include"mother.h"#

c++ - 非常基本的继承 : error: expected class-name before ‘{’ token

我正在尝试学习c++,但在尝试找出继承时偶然发现了一个错误。编译:daughter.cpp在/home/jonas/kodning/testing/daughter.cpp:1包含的文件中:/home/jonas/kodning/testing/daughter.h:6:错误:“{”标记之前的预期类名进程以状态1终止(0分0秒)1个错误,0个警告我的文件:main.cpp:#include"mother.h"#include"daughter.h"#includeusingnamespacestd;intmain(){coutmother.cpp:#include"mother.h"#

c++ - 通过更高级别的结构访问子变量

如果我有这些结构:typedefstruct{intx;}foo;typedefstruct{foof;}bar;通常你会通过b.f.x访问x,但是有没有办法设置它,这样你就可以访问元素x而无需引用f?barb;b.x=...我的第一个直觉是你不能,因为如果两个子结构都有一个成员x并且我无法弄清楚编译错误会是什么,那么可能会发生名称冲突。不过,我记得我曾在一些可行的框架中工作过。在C++中,我曾经在一个存在bar的框架中工作过,您可以从不同的类作为成员变量this->x访问它的成员。我正在尝试弄清楚如何做到这一点。 最佳答案 你可以

c++ - 通过更高级别的结构访问子变量

如果我有这些结构:typedefstruct{intx;}foo;typedefstruct{foof;}bar;通常你会通过b.f.x访问x,但是有没有办法设置它,这样你就可以访问元素x而无需引用f?barb;b.x=...我的第一个直觉是你不能,因为如果两个子结构都有一个成员x并且我无法弄清楚编译错误会是什么,那么可能会发生名称冲突。不过,我记得我曾在一些可行的框架中工作过。在C++中,我曾经在一个存在bar的框架中工作过,您可以从不同的类作为成员变量this->x访问它的成员。我正在尝试弄清楚如何做到这一点。 最佳答案 你可以

c++ - C++ 中的命名冲突 : How to access a struct member called "class"

我在使用xlib库时遇到了一个命名问题:我正在使用一个结构,它有一个名为“类”的成员。我假设这个库主要用于纯C程序。所以没有问题。但我正在用C++编程,这里的名称“类”是一个关键字,不能用来表示变量。所以,如果我通过访问结构myvariable=mystruct->class;我收到了错误:“class”之前的预期unqualified-id鉴于我无法更改结构本身,尽管存在命名冲突,我如何访问该结构成员? 最佳答案 GiventhatIcannotchangethestructitself,howcanIaccessthisstru

c++ - C++ 中的命名冲突 : How to access a struct member called "class"

我在使用xlib库时遇到了一个命名问题:我正在使用一个结构,它有一个名为“类”的成员。我假设这个库主要用于纯C程序。所以没有问题。但我正在用C++编程,这里的名称“类”是一个关键字,不能用来表示变量。所以,如果我通过访问结构myvariable=mystruct->class;我收到了错误:“class”之前的预期unqualified-id鉴于我无法更改结构本身,尽管存在命名冲突,我如何访问该结构成员? 最佳答案 GiventhatIcannotchangethestructitself,howcanIaccessthisstru

c++ - 在 C/C++ 中初始化和归零数组的区别?

在c(或者可能是c++)中,有什么区别charmyarr[16]={0x00};和charmyarr[16];memset(myarr,'\0',sizeof(myarr));??编辑:我问这个是因为在vc++2005中结果是一样的..编辑更多:和charmyarr[16]={0x00,};?也许可以得到更全面的答案,而不是模棱两可,因为下面的一些答案是指这种代码,即。将逗号放在大括号之前。结果在vc++2005中也是一样的。 最佳答案 重要的区别是第一个默认值以特定于元素的方式初始化数组:指针将接收一个空指针值,它不需要是0x00

c++ - 在 C/C++ 中初始化和归零数组的区别?

在c(或者可能是c++)中,有什么区别charmyarr[16]={0x00};和charmyarr[16];memset(myarr,'\0',sizeof(myarr));??编辑:我问这个是因为在vc++2005中结果是一样的..编辑更多:和charmyarr[16]={0x00,};?也许可以得到更全面的答案,而不是模棱两可,因为下面的一些答案是指这种代码,即。将逗号放在大括号之前。结果在vc++2005中也是一样的。 最佳答案 重要的区别是第一个默认值以特定于元素的方式初始化数组:指针将接收一个空指针值,它不需要是0x00

c++ - 在 Class 范围内声明时,应如何在 C++14 中引用变量模板?

例如:classexample{public:templatestaticconstexprTvar=T(1.5);};intmain(){inta=example::var;exampleobj;intb=obj.var;return0;}GCC对两者都产生错误:'example::var'isnotafunctiontemplate和'var'isnotamembertemplatefunctionClang正确编译了第一个,但产生了第二个错误:cannotrefertomember'var'in'example'with'.'根据C++14标准(ISO/IEC14882:2014

c++ - 在 Class 范围内声明时,应如何在 C++14 中引用变量模板?

例如:classexample{public:templatestaticconstexprTvar=T(1.5);};intmain(){inta=example::var;exampleobj;intb=obj.var;return0;}GCC对两者都产生错误:'example::var'isnotafunctiontemplate和'var'isnotamembertemplatefunctionClang正确编译了第一个,但产生了第二个错误:cannotrefertomember'var'in'example'with'.'根据C++14标准(ISO/IEC14882:2014